.H "Computer Science" 1
.H SICP
.PP
The Structure and Interpreation of Computer Programs
(or SICP)
is a acclaimed book regarding computer programming.
It aims to be an introductory and accesible text
to the realm of programming using Lisp as a basis,
though there have been editions where targeting Python and,
more recently, 
JavaScript.
But their are of apparent poorer quality than their originals
(I found mentions that the authors hold some contempt to using Javascript
instead of Lisp).
So,
I at least start with the original Lisp version and
might eventually take a look on the adaptations.
.H Foreword
.PP
It is a quick introduction to the concep of programming as whole,
most notably it separates programming in three foci
(the human mind,
collections of programs
and the computer itself).
It also touches on the joys of programming
and briefly introduces Lisp while comparing with Pascal.
.BL
Programming is the act of putting to shape
- into symbols -
our ideas regarding how to solve a particular problem.
.BL
To better comprehend and talk about programming,
we separate them into three foci:
.TD Put these in a indented numbered list
The human mind,
the collections of programs
and the computer
(the actual hardware that runs the program).
.BL
Our programs are constantly changing shape as we mature as programmers
and figure out how to better fit them we other programs in the process of
composing a larger total. This goes on until they become metastable
- until they remain mostly unchanged, but still somewhat suscetible to it.
.BL
Programming is a boundless,
complex thing that resists correctness in the mathematical sense.
Therefore,
we should rely on language constructs
and methodolies that have been proven to be reliable.
These are called
.B idioms .
.BL
Programmers should also use and improve upon the researched and existing methods
to solve certain mathematical problems,
these are
.B algorythms .
.BL
This book uses Lisp as the introductory language to programming
and compares it to an organism
(constrasting with Pascal,
a pyramid).
It is a simple language,
built from first principles,
whose most important feature are its lists.
Though,
its simplicity can be both a boon and a burden,
as the programmer must build her own tools to tackle their challenges.
